var AipImageClassifyClient = require("baidu-aip-sdk").imageClassify;
var HttpClient = require("baidu-aip-sdk").HttpClient;

console.log("sdk enter");

// 设置APPID/AK/SK
var APP_ID = "24831602";
var API_KEY = "OPm713nvXqyA3YqLnGeBOIER";
var SECRET_KEY = "sgMzAF5ILHK9MYY38vAI7RmOKmvDUd1y";

// 新建一个对象，建议只保存一个对象调用服务接口
var client = new AipImageClassifyClient(APP_ID, API_KEY, SECRET_KEY);

// 设置request库的一些参数，例如代理服务地址，超时时间等
// request参数请参考 https://github.com/request/request#requestoptions-callback
HttpClient.setRequestOptions({
  timeout: 5000,
});

// 也可以设置拦截每次请求（设置拦截后，调用的setRequestOptions设置的参数将不生效）,
// 可以按需修改request参数（无论是否修改，必须返回函数调用参数）
// request参数请参考 https://github.com/request/request#requestoptions-callback
HttpClient.setRequestInterceptor(function(requestOptions) {
  // 查看参数
  // console.log(requestOptions.url)
  // 修改参数
  requestOptions.timeout = 5000;
  // 返回参数
  return requestOptions;
});

// var fs = require("fs");

// var image = fs.readFileSync("../../../testmedia/111.png").toString("base64");
// console.log(image)

// 调用通用物体识别
// client
//   .objectDetect(image)
//   .then(function(result) {
//     console.log("通用调用  成功！");

//     console.log(JSON.stringify(result));
//   })
//   .catch(function(err) {
//     // 如果发生网络错误
//     console.log("网络错误");
//   });

// 如果有可选参数
// var options = {};
// options["baike_num"] = "5";

// // 带参数调用通用物体识别
// client.advancedGeneral(image, options).then(function(result) {
//     console.log('带参数调用  成功！');

//     console.log(JSON.stringify(result));
// }).catch(function(err) {
//     // 如果发生网络错误
//     console.log('网络错误');
// });;

module.exports = { client };
